home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Text⁄Files / text to macwrite ƒ / txtomw.h < prev   
Encoding:
C/C++ Source or Header  |  1988-12-09  |  2.0 KB  |  120 lines  |  [TEXT/MPS ]

  1. /*
  2.     txtomw.h
  3.  
  4.     These data types implement the main structures of MacWrite files and were
  5.     made with the help of Macintosh Technical Note #12.
  6.     The Tech Note documents the file format of MacWrite 4.5.
  7.  
  8.     Gisli Runar Hjaltason
  9.     University of Iceland
  10. */
  11.  
  12.  
  13. /*  Window Variables */
  14.  
  15. struct wind_var_rec {
  16.     long    start_sel;
  17.     long    end_sel;
  18.     short    vert_offset;
  19.     short    redraw;
  20.     char    *info_array;
  21.     short    info_length;
  22.     char    *linheight_array;
  23.     short    linheight_len;
  24.     long    page_number_pos;
  25.     long    date_pos;
  26.     long    time_pos;
  27.     long    unused;
  28.     char    oval_redraw;
  29.     char    last_update;
  30.     short    active_style;
  31.     short    active_font;
  32. };
  33.  
  34.     typedef struct wind_var_rec    wind_var;
  35.  
  36.  
  37. /*  Global Variables + Printing Variables + Window Variables */
  38.  
  39. struct doc_header {
  40.     short    version;
  41.     short    main_paragraphs;
  42.     short    header_paragraphs;
  43.     short    footer_paragraphs;
  44.     char    title_page;
  45.     char    unused;
  46.     char    scrap_display;
  47.     char    footer_display;
  48.     char    header_display;
  49.     char    ruler_display;
  50.     short    active_doc;
  51.     short    start_page;
  52.     char    *free_list;
  53.     short    free_len;
  54.     short    free_alloc;
  55.     char    unused2[14];
  56.     
  57.     char    print_var[120];
  58.     
  59.     wind_var    footer;
  60.     wind_var    header;
  61.     wind_var    main;
  62.     
  63.     char    filler[6];
  64.     /* I don't know the significance of these last 6 bytes but they are
  65.        always set to 0xFFFF3FFFFFFE from MacWrite. I think this filler
  66.        can safely be deleted if you feel so inclined. */
  67. };
  68.  
  69.  
  70. /*  Ruler Paragraph */
  71.  
  72. struct ruler_rec {
  73.     short    left_margin;
  74.     short    right_margin;
  75.     char    just;
  76.     char    tab_numb;
  77.     short    spacing;
  78.     short    indent;
  79.     short    tab_array[10];
  80.     long    unused;
  81. };
  82.  
  83. typedef    struct ruler_rec    ruler;
  84.  
  85.  
  86. /*  Format Runs */
  87.  
  88. struct format_rec {
  89.     short    begin_pos;
  90.     char    size;
  91.     char    style;
  92.     short    font_numb;
  93. };
  94.  
  95. typedef    struct format_rec    format;
  96.  
  97.  
  98. /*  Information Array */
  99.  
  100. struct par_info_rec {
  101.     short    height;
  102.     short    pos;
  103.     char    *par_handle;
  104.     char    *par_data;
  105.     short    par_len;
  106.     short    par_format;
  107. };
  108.  
  109. typedef struct par_info_rec    par_info;
  110.  
  111.  
  112. /*  Paragraph Data */
  113.  
  114. struct par_data_rec {
  115.     short    length;
  116.     char    text[0];    /* the right size is determined at run-time */
  117. };
  118.  
  119. typedef struct par_data_rec    par_data;
  120.